<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="chrome=1">
    <title>OpenLibm</title>

    <link rel="stylesheet" href="stylesheets/styles.css">
    <link rel="stylesheet" href="stylesheets/pygment_trac.css">
    <script src="javascripts/scale.fix.js"></script>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <!--[if lt IE 9]>
    <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
  </head>
  <body>
    <div class="wrapper">
      <header>
        <h1 class="header">OpenLibm</h1>
        <p class="header">A high quality system independent, portable, open source libm implementation</p>

        <ul>
          <li class="download"><a class="buttons" href="https://github.com/JuliaLang/openlibm/archive/v0.4.1.zip">Download ZIP</a></li>
          <li class="download"><a class="buttons" href="https://github.com/JuliaLang/openlibm/archive/v0.4.1.tar.gz">Download TAR</a></li>
          <li><a class="buttons github" href="https://github.com/JuliaLang/openlibm">View On GitHub</a></li>
        </ul>

        <p class="header">This project is maintained by <a class="header name" href="https://github.com/JuliaLang">JuliaLang</a></p>


      </header>
      <section>
        <h2>
<a id="openlibm" class="anchor" href="#openlibm" aria-hidden="true"><span class="octicon octicon-link"></span></a>OpenLibm</h2>

<p><a href="http://www.openlibm.org">OpenLibm</a> is an effort to have a high quality, portable, standalone
C mathematical library (<a href="http://en.wikipedia.org/wiki/libm"><code>libm</code></a>).
It can be used standalone in applications and programming language
implementations.</p>

<p>The project was born out of a need to have a good <code>libm</code> for the
<a href="http://www.julialang.org">Julia programming langage</a> that worked
consistently across compilers and operating systems, and in 32-bit and
64-bit environments.</p>

<h3>
<a id="history" class="anchor" href="#history" aria-hidden="true"><span class="octicon octicon-link"></span></a>History</h3>

<p>The OpenLibm code derives from the <a href="http://svnweb.freebsd.org/base/head/lib/msun/">FreeBSD
msun</a> and <a href="http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libm/src/">OpenBSD
libm</a>
implementations, which in turn derive from <a href="http://www.netlib.org/fdlibm/">FDLIBM
5.3</a>. Over and above that, OpenLibm itself has received a number of patches to make it platform independent and portable.</p>

<h3>
<a id="platform-support" class="anchor" href="#platform-support" aria-hidden="true"><span class="octicon octicon-link"></span></a>Platform support</h3>

<p>OpenLibm builds on Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD, and
DragonFly BSD.  It builds with both GCC and clang. Although largely
tested and widely used on the x86 and x86-64 architectures, OpenLibm
also supports arm, aarch64, ppc64le, mips, wasm32, and s390(x).

<h3>
<a id="other-relevant-projects" class="anchor" href="#other-relevant-projects" aria-hidden="true"><span class="octicon octicon-link"></span></a>Other relevant projects</h3>

<ol>
  <li> <a href="https://git.musl-libc.org/cgit/musl/tree/src/math">MUSL</a> The libm library in the musl-libc project</li>
  <li> <a href="http://www.netlib.org/fdlibm/">FDLIBM</a>: Freely Distributable Math Library</li>
  <li> <a href="http://lipforge.ens-lyon.fr/www/crlibm/">CRlibm</a>: Correctly Rounded mathematical library</li>
  <li> <a href="http://www.yeppp.info/">Yeppp!</a>: A high-performance SIMD-optimized mathematical library</li>
  <li> <a href="https://software.intel.com/sites/products/documentation/doclib/mkl_sa/112/vml/vmldata.htm">Intel VML</a>: Intel's Vector Math Library</li>
</ol>

<h3>
<a id="Acknowledgements" class="anchor" href="#Acknowledgements" aria-hidden="true"><span class="octicon octicon-link"></span></a>Acknowledgements</h3>

<p>PowerPC support for OpenLibm was graciously sponsored by IBM.


      </section>
      <footer>
        <p><small>Hosted on <a href="http://pages.github.com">GitHub Pages</a> using the Dinky theme</small></p>
      </footer>
    </div>
    <!--[if !IE]><script>fixScale(document);</script><![endif]-->
		          <script type="text/javascript">
            var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
            document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
          </script>
          <script type="text/javascript">
            try {
              var pageTracker = _gat._getTracker("UA-28835595-4");
            pageTracker._trackPageview();
            } catch(err) {}
          </script>

  </body>
</html>
